package builder.improve;

/**
 * @Author liangliangzhao
 * @data 2023/3/21 20:23
 */

public class HouseDirector {
    HouseBuilder houseBuilder = null;

    // 构造器传入 houseBuilder
    public HouseDirector(HouseBuilder builder){
        this.houseBuilder = builder;
    }
    // 通过setter 传入houseBuilder
    public void setHouseBuilder(HouseBuilder houseBuilder){
        this.houseBuilder = houseBuilder;
    }
    //如何处理建造房子的流程 交给指挥者
    public House constructHouse(){
        houseBuilder.buildBasic();
        houseBuilder.buildWalls();
        houseBuilder.roofed();
        return houseBuilder.buildHouse();
    }
}
